<%@ include file="/common/taglibs.jsp"%>
<%@ page import="com.pe.pgn.clubpgn.domain.beans.*"%>

<head>
    <title><fmt:message key="devolucionclienteForm.title"/></title>
    <meta name="heading" content="<fmt:message key='devolucionclienteForm.heading'/>"/>
</head>

<spring:bind path="devolucionclienteform.*">
    <c:if test="${not empty status.errorMessages}">
    <div class="error">
        <c:forEach var="error" items="${status.errorMessages}">
            <img src="<c:url value="/images/iconWarning.gif"/>"
                alt="<fmt:message key="icon.warning"/>" class="icon"/>
            <c:out value="${error}" escapeXml="false"/><br />
        </c:forEach>
    </div>
    </c:if>
</spring:bind>

<form:form commandName="devolucionclienteform" method="post" action="devolucionclienteform.html" 
	onsubmit="return onFormSubmit(this)" id="devolucionclienteform" name="devolucionclienteform">
	
<form:hidden id="idDocumentoMovArticulo" path="id"/>
<form:hidden id="stOperacionID" path="stOperacion"/>
<form:hidden id="coClienteID" path="coCliente"/>
<form:hidden id="stDocumentoMovArtID" path="stDocumentoMovArt"/>
<form:hidden id="coDocumentoMovCanjeID" path="coDocumentoMovCanje"/>
<input type="hidden" id="cantPremios" name="cantPremios" value="${devolucionclienteform.vaCantidad}" >
<input type="hidden" id="cantCanjeados" name="cantCanjeados" value="0" >
<input type="hidden" id="esEditable" value="${esEditable}"/>

<ul>
	<li class="buttonBar right">
		<c:set var="buttons">      
		
		<c:if test="${esEditable eq true}" >
			<input type="submit" class="button" name="save"
				onclick="bCancel=false" value="<fmt:message key="button.devolver"/>" />
		</c:if>
				
		    <input type="button" class="button" onclick="location.href='<c:url value="/canje/canjelist.html"/>'"
		    value="<fmt:message key="button.cancel"/>"/>
        </c:set>
        <c:out value="${buttons}" escapeXml="false"/>
	</li>
	
	<li>
	<fieldset style="width: 400px">
	<legend><fmt:message key="common.propiedades.generales"/></legend>
		
			<label for="daFechaDocDevolucion" class="required desc">
	        	<fmt:message key="common.fecha.devol"/>
	        </label>
	        ${devolucionclienteform.daFechaDocDevolucion}
	        <form:hidden path="daFechaDocDevolucion" id="daFechaDocDevolucionID"/><br/>
		
			<label for="daFechaDocumento" class="required desc">
	        	<fmt:message key="common.fecha.canje"/>
	        </label>
	        ${devolucionclienteform.daFechaDocumento}
	        <form:hidden path="daFechaDocumento" id="daFechaDocumentoID"/><br/>	
		
			<label for="codTarjeta" class="required desc">
	        	<fmt:message key="common.codigo.tarjeta"/>
	        </label>
	        		${devolucionclienteform.codTarjeta}
	        		<form:hidden path="codTarjeta" id="codTarjetaID"/><br/>	        		
	        			<span id="flagTotalPuntos">Total Puntos Acumulados: ${devolucionclienteform.dePuntosAcumulados} ptos.</span>
	        	
		
			<label for="deCliente" class="required desc">
	        	<fmt:message key="common.nombre"/>
	        </label>
	        		<span id="flagCliente">${devolucionclienteform.deCliente}</span>
	        		<form:hidden path="deCliente" id="deClienteID"/>
		
			<label for="nuSerie" class="required desc">
				<fmt:message key="common.documento.canje"/>
			</label>
				${devolucionclienteform.nuSerieCanje} - ${devolucionclienteform.nuDocumentoCanje}
	        	<form:hidden path="nuSerieCanje" id="nuSerieCanjeID" />
	        	<form:hidden path="nuDocumentoCanje" id="nuDocumentoCanjeID" />
			
		
			<label for="coAlmacen" class="required desc">
				<fmt:message key="common.almacen"/>
			</label>
	        		${devolucionclienteform.deAlmacen}
	        		<form:hidden path="coAlmacen" id="coAlmacenID"/>
					<form:hidden path="deAlmacen" id="deAlmacenID"/>
					
			<label for="nuSerie" class="required desc">
				<fmt:message key="common.documento"/>
			</label>
			
	        <c:choose>
        		<c:when test="${devolucionclienteform.coDocumentoMovCanje != null}">
        			${devolucionclienteform.nuSerie} - ${devolucionclienteform.nuDocumento}
        			<form:hidden path="nuSerie" id="nuSerieID" />
        			<form:hidden path="nuDocumento" id="nuDocumentoID" />
        		</c:when>
        		<c:otherwise>
        			<form:select cssClass="text medium" id="nuSerieID" path="nuSerie" >
        				<form:options itemValue="coSerie" itemLabel="deSerie" items="${seriecanje}"/>
       				</form:select>	       	
       				<form:hidden path="nuDocumento" id="nuDocumentoID" />	        		
        		</c:otherwise>
        	</c:choose>
		
			<label for="deObservacion" class="required desc">
				<fmt:message key="common.observaciones"/>
			</label>
			
				<c:choose>
	        	<c:when test="${devolucionclienteform.coDocumentoMovCanje  != null}">
	        			        		
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deObservacion != null and devolucionclienteform.deObservacion != ''}">
	        			${devolucionclienteform.deObservacion}
	        			<form:hidden path="deObservacion" id="deObservacionID" />
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deObservacion" id="deObservacionID" />
	        		</c:otherwise>
	        		</c:choose>
	        		
	        	</c:when>
	        	<c:otherwise>
	        		<form:textarea path="deObservacion" id="deObservacionID" rows="2" cols="41" onkeypress="isMaxLength(this, 255)"/>
	        	</c:otherwise>
	        </c:choose>
	</fieldset>	
	</li>
	
	<li>
	<fieldset style="width: 400px">
	<legend><fmt:message key="common.propiedades.premio"/></legend>
		
			<label for="coCodigoPremio" class="required desc">
	        	<fmt:message key="common.codigo"/>
	        </label>
	        		${devolucionclienteform.coCodigoPremio}
	        		<form:hidden path="coCodigoPremio" id="coCodigoPremioID"/><br/>
       
		        <form:hidden path="stManejaSerie" id="stManejaSerieID" />
		        <form:hidden path="stNoManejaStock" id="stNoManejaStockID" />
		        <form:hidden path="stManejaStockPuntoCanje" id="stManejaStockPuntoCanjeID" />	        
		        <form:hidden path="stManejaStockAlmPrincipal" id="stManejaStockAlmPrincipalID" />    
	        
		
			<label for="deCodigoPremio" class="required desc">
	        	<fmt:message key="common.premio"/>
	        </label>
	        		<span id="flagPremio">${devolucionclienteform.deCodigoPremio}</span>
	       	 		<form:hidden path="deCodigoPremio" id="deCodigoPremioID"/><br/>	        
		
			<label for="vaCantidad" class="required desc">
	        	<fmt:message key="common.cantidad"/>
	        </label>
	        
		        <c:choose>
	        		<c:when test="${devolucionclienteform.coDocumentoMovCanje  != null}">
	        			${devolucionclienteform.vaCantidad} 	        			
	        			<form:hidden path="vaCantidad" id="vaCantidadID" /><br/>
	        		</c:when>
	        		<c:otherwise>
		        		<form:errors path="vaCantidad" cssClass="fieldError"/>
		        		<form:input path="vaCantidad" id="vaCantidadID" onblur="calculaTotales()"
		        		cssClass="text medium" maxlength="10" cssErrorClass="text large error"/><br/>   
	        		</c:otherwise>
	        	</c:choose>
		
			<div>
            <div class="left" style="width: 170px">
            
			<label for="vaPuntosPremio" class="required desc">
	        	<fmt:message key="common.ptos.premio"/>
	        </label>
	        		<span id="spamVaPuntosPremioID">
	        		${devolucionclienteform.vaPuntosPremio}
	        		</span>
	        		<form:hidden  path="vaPuntosPremio" id="vaPuntosPremioID" 
	        		cssClass="text small"  cssErrorClass="text large error"/><br/>
	        </div>
	        <div>
	        	
	        <label for="vaPuntosTotales" class="required desc">
	        	<fmt:message key="common.ptos.total"/>
	        </label>
					<span id="spamVaPuntosTotalesID">	
					${devolucionclienteform.vaPuntosTotales}
					</span>
	        		<form:hidden  path="vaPuntosTotales" id="vaPuntosTotalesID"
	        		cssClass="text small" cssErrorClass="text large error"/><br/>

	        </div>
		
			<div>
            <div class="left" style="width: 170px">
            
			<label for="vaPrecioPremio" class="required desc">
	        	<fmt:message key="common.precio.premio"/>
	        </label>
	        		<span id="spamVaPrecioPremioID">
	        		${devolucionclienteform.vaPrecioPremio}
	        		</span>
	        		<form:hidden   path="vaPrecioPremio" id="vaPrecioPremioID"
	        		cssClass="text small" cssErrorClass="text large error" /><br/>
	        </div>
	        <div>
	        
	        <label for="vaPrecioTotal" class="required desc">
	        	<fmt:message key="common.precio.total"/>
	        </label>
	        		<span id="spamVaPrecioTotalID">
	        		${devolucionclienteform.vaPrecioTotal}
	        		</span>
					<form:hidden  path="vaPrecioTotal" id="vaPrecioTotalID" 
	        		cssClass="text small" cssErrorClass="text large error"/><br/>
	        </div>
	        </div>
				
			<c:choose>
	        	<c:when test="${not empty devolucionclienteform.documentoDetalle}">
	        					<c:choose>
									<c:when test="${devolucionclienteform.coDocumentoMovCanje  != null}">
						        			<table cellpadding="0" id="tableMainSeriesID" class="table" cellspacing="0" style="width: 400px">
						        			<thead>
												<tr>
													<th scope="col"><fmt:message key="common.premio"/></th>
													<th scope="col"><fmt:message key="common.serie"/></th>
													<th scope="col"><fmt:message key="common.devuelto"/></th>
												</tr>
											</thead>
											<tbody id="tableSeriesBody">
											
												<c:forEach var="bncanje" items="${devolucionclienteform.documentoDetalle}" varStatus="status">
													<c:choose>
														  <c:when test="${status.index % 2 == 0}"><tr class="odd" ></c:when>
														  <c:otherwise><tr class="even" ></c:otherwise>
													</c:choose>								
													<td>${devolucionclienteform.deCodigoPremio}</td>
					                				<td>${bncanje.coSerie}</td>
					                				
														<c:choose>
															 	 <c:when test="${bncanje.coSerie == null }">
															 	 <td>
																			<c:choose>
																				<c:when test="${devolucionclienteform.vaCantidad > status.index}">
																						<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N"  disabled="disabled"   checked="checked" \>
																				</c:when>
																				<c:otherwise>
																						<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N"  disabled="disabled" \>
																				</c:otherwise>
																			</c:choose>																			
															 	 </td>
																</c:when>
																<c:otherwise>
																
																	<c:set  var="esDevuelto" value="0"/>
																	
																	
																	<c:forEach var="bn" items="${devolucionclienteform.documentoDetalleDevuelto}" >
																		<c:choose>
																			<c:when test="${bncanje.coSerie == bn.coSerie}" >
																			<c:set  var="esDevuelto" value="1"/>
																			</c:when>
																		</c:choose>
																	</c:forEach>
																
																	<c:choose>
																		<c:when test="${esDevuelto == '1'}" >
																		
																		<td>
																			<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" checked="checked" \>
																		</td>
																		</c:when>
																		<c:otherwise>
																		<td>
																			<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" \>
																		</td>		
																		</c:otherwise>
																	</c:choose>																								
																
																</c:otherwise>
														</c:choose>

					                				</tr>
					
												</c:forEach>
											</tbody>
						        		</table>
																			
									</c:when>
									
									<c:otherwise>
						        			<table cellpadding="0" id="tableMainSeriesID" class="table" cellspacing="0" style="width: 400px">
						        			<thead>
												<tr>
													<th scope="col"><fmt:message key="common.premio"/></th>
													<th scope="col"><fmt:message key="common.serie"/></th>
													<th scope="col"><font color="#1465B7"><u><a onclick="checkAllForm()">													
														<fmt:message key="common.elegir.todos"/>
													</a></u></font></th>
													<th scope="col"><fmt:message key="common.devuelto"/></th>
												</tr>
											</thead>
											<tbody id="tableSeriesBody">
											
												<c:forEach var="bncanje" items="${devolucionclienteform.documentoDetalle}" varStatus="status">
													<c:choose>
														  <c:when test="${status.index % 2 == 0}"><tr class="odd" ></c:when>
														  <c:otherwise><tr class="even" ></c:otherwise>
													</c:choose>								
													<td>${devolucionclienteform.deCodigoPremio}</td>
					                				<td>${bncanje.coSerie}</td>
					                				
														<c:choose>
															 	 <c:when test="${bncanje.coSerie == null }">
																		<c:choose>
																			  <c:when test="${status.index < devueltosSinSerie }">
													                				<td>								
																						<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N" disabled="disabled"  \>
														                				<input type="hidden" value="${bncanje.stDevuelve}"
														                				id="documentoDetalle[${status.index}].stDevuelve" name="documentoDetalle[${status.index}].stDevuelve" />
														                				<input type="hidden"  value="${bncanje.coSerie}"
														                				id="documentoDetalle[${status.index}].coSerie" name="documentoDetalle[${status.index}].coSerie" />									                				
													                				</td>
																					<td>
																							<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" checked="checked" \>
																					</td>					                				
																			  </c:when>
																			  <c:otherwise>
													                				<td>
																					<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N"   \>
				
													                				<input type="hidden"  value="${bncanje.stDevuelve}"
													                				id="documentoDetalle[${status.index}].stDevuelve" name="documentoDetalle[${status.index}].stDevuelve" />
													                				<input type="hidden"  value="${bncanje.coSerie}"
													                				id="documentoDetalle[${status.index}].coSerie" name="documentoDetalle[${status.index}].coSerie" />
													                				
													                				</td>
																					<td>
																							<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" \>
																					</td>					                				
																			  </c:otherwise>
																		</c:choose>													                				
															 	 		
															 	 </c:when>
	  															<c:otherwise>
																	<c:set  var="esDevuelto" value="0"/>
																	
																	
																	<c:forEach var="bn" items="${devueltosGeneral}" >
																		<c:choose>
																			<c:when test="${bncanje.coSerie == bn.coSerie}" >
																			<c:set  var="esDevuelto" value="1"/>
																			</c:when>
																		</c:choose>
																	</c:forEach>
																	
																	<c:choose>
																		<c:when test="${esDevuelto == '1'}" >																			
											                				<td>						
																				<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N" disabled="disabled"  \>
												                				<input type="hidden" value="${bncanje.stDevuelve}"
												                				id="documentoDetalle[${status.index}].stDevuelve" name="documentoDetalle[${status.index}].stDevuelve" />
												                				<input type="hidden"  value="${bncanje.coSerie}"
												                				id="documentoDetalle[${status.index}].coSerie" name="documentoDetalle[${status.index}].coSerie" />									                				
											                				</td>
																			<td>
																				<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" checked="checked" \>
																			</td>
																		</c:when>
																		<c:otherwise>
																		
										                				<td>						
																			<input type="checkbox" id="chk_premio${status.index}" name="chk_premnio${status.index}" onclick = "actualizaItemsDeevolucion(${status.index})" value="N"  \>
											                				<input type="hidden" value="${bncanje.stDevuelve}"
											                				id="documentoDetalle[${status.index}].stDevuelve" name="documentoDetalle[${status.index}].stDevuelve" />
											                				<input type="hidden"  value="${bncanje.coSerie}"
											                				id="documentoDetalle[${status.index}].coSerie" name="documentoDetalle[${status.index}].coSerie" />									                				
										                				</td>
																		<td>
																			<input type="checkbox" id="chk_devuelto${status.index}" name="chk_devuelto${status.index}"  disabled="disabled" \>
																		</td>		
																		</c:otherwise>
																	</c:choose>																								
	  															</c:otherwise>
													</c:choose>					                				
					                				</tr>
					
												</c:forEach>
											</tbody>
						        		</table>										
									</c:otherwise>																	
	                			</c:choose>	
	        	</c:when>
	      	</c:choose>
		
	</fieldset>
	</li>
	
	<li>
	<fieldset style="width: 400px">
	<legend><fmt:message key="common.propiedades.direccion.entrega"/></legend>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.stDireccion eq 'Y'}">
	        			<fmt:message key="common.direccion"/>
						<form:radiobutton path="strDirEntrega" checked="true" disabled="true" value="direccion" id="strDireccionID" />
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="common.direccion"/>
						<form:radiobutton path="strDirEntrega" disabled="true" value="direccion" id="strDireccionID" />
	        		</c:otherwise>
	        		</c:choose>
	        	
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.stAlmacenPrincipal eq 'Y'}">
	        			<fmt:message key="common.almacen"/>
						<form:radiobutton path="strDirEntrega" checked="true" disabled="true" value="almacen" id="strAlmacenID" />
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="common.almacen"/>
						<form:radiobutton path="strDirEntrega" disabled="true" value="almacen" id="strAlmacenID" />
	        		</c:otherwise>
	        		</c:choose>
					
					<c:choose>
	        		<c:when test="${devolucionclienteform.stPuntoCanje eq 'Y'}">
	        			<fmt:message key="common.punto.canje"/>
						<form:radiobutton path="strDirEntrega" checked="true" disabled="true" value="puntocanje" id="strPuntoCanjeID" />
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="common.punto.canje"/>
						<form:radiobutton path="strDirEntrega" disabled="true" value="puntocanje" id="strPuntoCanjeID" />
	        		</c:otherwise>
	        		</c:choose>
		
			<label for="deJrAvCa" class="required desc">
	        	<fmt:message key="label.jr"/>
	        </label>    		
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deJrAvCa != null and devolucionclienteform.deJrAvCa != ''}">
	        			${devolucionclienteform.deJrAvCa}
	        			<form:hidden path="deJrAvCa" id="deJrAvCaID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deJrAvCa" id="deJrAvCaID" /><br/>
	        		</c:otherwise>
	        		</c:choose>

		
			<label for="deDireccion" class="required desc">
	        	<fmt:message key="common.direccion"/>
	        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deDireccion != null and devolucionclienteform.deDireccion != ''}">
	        			${devolucionclienteform.deDireccion}
	        			<form:hidden path="deDireccion" id="deDireccionID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deDireccion" id="deDireccionID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
		
			<div>
            <div class="left" style="width: 170px">
            	<label for="deNumero" class="required desc">
	        		<fmt:message key="common.numero"/>
		        </label>
	        		
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deNumero != null and devolucionclienteform.deNumero != ''}">
	        			${devolucionclienteform.deNumero}
	        			<form:hidden path="deNumero" id="deNumeroID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deNumero" id="deNumeroID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
	      	</div>
            <div>
            	<label for="deMzLote" class="required desc">
	        		<fmt:message key="label.mz"/>
		        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deMzLote != null and devolucionclienteform.deMzLote != ''}">
	        			${devolucionclienteform.deMzLote}
	        			<form:hidden path="deMzLote" id="deMzLoteID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deMzLote" id="deMzLoteID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
            </div>
            </div>
		

			<div>
            <div class="left" style="width: 170px">
            	<label for="deDptoPisoInt" class="required desc">
	        		<fmt:message key="label.dpto"/>
		        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deDptoPisoInt != null and devolucionclienteform.deDptoPisoInt != ''}">
	        			${devolucionclienteform.deDptoPisoInt}
	        			<form:hidden path="deDptoPisoInt" id="deDptoPisoIntID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deDptoPisoInt" id="deDptoPisoIntID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
            </div>
            <div>
            	<label for="deUrbIndResUnVec" class="required desc">
	        		<fmt:message key="label.nombreurb"/>
		        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deUrbIndResUnVec != null and devolucionclienteform.deUrbIndResUnVec != ''}">
	        			${devolucionclienteform.deUrbIndResUnVec}
	        			<form:hidden path="deUrbIndResUnVec" id="deUrbIndResUnVecID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deUrbIndResUnVec" id="deUrbIndResUnVecID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
            </div>
            </div>
		
			<label for="deSecEtapaZona" class="required desc">
        		<fmt:message key="label.sec"/>
	        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deSecEtapaZona != null and devolucionclienteform.deSecEtapaZona != ''}">
	        			${devolucionclienteform.deSecEtapaZona}
	        			<form:hidden path="deSecEtapaZona" id="deSecEtapaZonaID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="deSecEtapaZona" id="deSecEtapaZonaID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
		
	        <label for="coDepartamento" class="required desc">
	        	<fmt:message key="label.departamento"/>
	        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deDepartamento != null and devolucionclienteform.deDepartamento != ''}">
	        			${devolucionclienteform.deDepartamento}
	        			<form:hidden path="coDepartamento" id="coDepartamentoID" />
	        			<form:hidden path="deDepartamento" id="deDepartamentoID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="coDepartamento" id="coDepartamentoID" />
	        			<form:hidden path="deDepartamento" id="deDepartamentoID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
	    
	        <label for="coProvincia" class="required desc">
	        	<fmt:message key="label.provincia"/>
	        </label>
	        		<c:choose>
	        		<c:when test="${devolucionclienteform.deProvincia != null and devolucionclienteform.deProvincia != ''}">
	        			${devolucionclienteform.deProvincia}
	        			<form:hidden path="coProvincia" id="coProvinciaID" />
	        			<form:hidden path="deProvincia" id="deProvinciaID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="coProvincia" id="coProvinciaID" />
	        			<form:hidden path="deProvincia" id="deProvinciaID" /><br/>
	        		</c:otherwise>
	        		</c:choose>
	    
	        <label for="coDistrito" class="required desc">
	        	<fmt:message key="label.distrito"/>
	        </label>
	        
					<c:choose>
	        		<c:when test="${devolucionclienteform.deDistrito != null and devolucionclienteform.deDistrito != ''}">
	        			${devolucionclienteform.deDistrito}
	        			<form:hidden path="coDistrito" id="coDistritoID" />
	        			<form:hidden path="deDistrito" id="deDistritoID" /><br/>
	        		</c:when>
	        		<c:otherwise>
	        			<fmt:message key="label.itemdefault"/>
	        			<form:hidden path="coDistrito" id="coDistritoID" />
	        			<form:hidden path="deDistrito" id="deDistritoID" /><br/>
	        		</c:otherwise>
	        		</c:choose>	        

		
	</fieldset></li>
	
	<li class="buttonBar bottom">
        <c:out value="${buttons}" escapeXml="false"/>
    </li>
</ul>

<input type="hidden" id="typeOperationDocument" name="typeOperationDocument" />
</form:form>

<script type="text/javascript">
    Form.focusFirstElement($('devolucionclienteform'));
    highlightFormElements();

	function setearTipoOperacion(strOperacion){
		dwr.util.setValue("typeOperationDocument",  strOperacion	, { escapeHtml:false });
	}
    
    function onFormSubmit(objForm){

    	var nuSerie = dwr.util.getValue('nuSerieID');
    	if(nuSerie == '-1' || nuSerie == '----'){
        	alert('Numero de documento es un campo requerido.');
			return false;
        }

    	var isSubmit = validateDevolucionclienteform(objForm) && 
    	devolucionCliente();

/*
		var esEditable = dwr.util.getValue("esEditable");		
		if(esEditable != 'true'){
			return false;
		}    	    	
		*/
		if(isSubmit != false){
			isSubmit = true;
		}
    	
    	if(isSubmit){	  		
	  		return true;
    	}

  		return false;   
      }

    function validaDetalleDocumentoDevolucion(){

        if(document.getElementById("documentoDetalle[0].stDevuelve") != null){
	        var vaSeleccionado = 0;
	        var vaCantidad  = trim(dwr.util.getValue('vaCantidadID'));
	        var vaCanjeados = trim(dwr.util.getValue('cantCanjeados'));
	        
			for (var i = 0; i < vaCanjeados; i++) {
				if(document.getElementById("documentoDetalle["+i+"].stDevuelve").value == 'S'){				
					vaSeleccionado++;
				}				
			}
			
			if (parseFloat(vaCantidad)== parseFloat(vaSeleccionado)){
				return true;
			} 
			alert("Se debe seleccionar la cantidad de premios a devolver indicada");
			return false;
        }else{
			return true;
        }		
	}       


    function imprimeGrillaSeriePremios(){
	
    	var btnSerie 	   = document.getElementById("btnSerieID").disabled;
    	var vaCantidad	   = trim(document.getElementById('vaCantidadID').value);
    	var deCodigoPremio = trim(document.getElementById("deCodigoPremioID").value);
    	var tableMainSerie = document.getElementById("tableMainSeriesID").style;    	

    	//el boton este desbloqueado y cantidad sea un numero
    	if(btnSerie == false && !isNaN(vaCantidad) && trim(vaCantidad) != ''){

    		dwr.util.removeAllRows("tableSeriesBody", { filter:function(tr) {
      	    return (tr.id != "pattern");}});

    		var inputText = '';
    		var contador  = 0;
    		for (var i = 1; i <= vaCantidad; i++) {

    			inputText = "<input id=\"documentoDetalle["+contador+"].coSerie\" 	   "+
    			"name=\"documentoDetalle["+contador+"].coSerie\" class=\"text medium\" "+
    			"type=\"text\" maxlength=\"50\" />"; 
    			
    	      	dwr.util.cloneNode("pattern", { idSuffix: i });
    	      	dwr.util.setValue("tablePremio" + i,  deCodigoPremio, { escapeHtml:false });    	      	
    	      	dwr.util.setValue("tableSerie"  + i,  inputText		, { escapeHtml:false });
    	      	
				if(i % 2 == 0){
					$("pattern" + i).className = "odd";
				}
				else{
					$("pattern" + i).className = "even";
				}
	    	      
	    	    $("pattern" + i).style.display = "";
	    	    tableMainSerie.display = "";
	    	    contador = contador + 1;
    	    }
    		
        }else{
        	tableMainSerie.display = "none";
        }
    }

    
    function camposDireccionBloqueados(){

    	document.getElementById('deJrAvCaID').disabled=true;
    	document.getElementById('deDireccionID').disabled=true;
    	document.getElementById('deNumeroID').disabled=true;
    	document.getElementById('deMzLoteID').disabled=true;
    	document.getElementById('deDptoPisoIntID').disabled=true;
    	document.getElementById('deUrbIndResUnVecID').disabled=true;
    	document.getElementById('deSecEtapaZonaID').disabled=true;
    	document.getElementById('coDepartamentoID').disabled=true;
    	document.getElementById('coProvinciaID').disabled=true;
    	document.getElementById('coDistritoID').disabled=true;

    	document.getElementById('deJrAvCaID').value="";
    	document.getElementById('deDireccionID').value="";
    	document.getElementById('deNumeroID').value="";
    	document.getElementById('deMzLoteID').value="";
    	document.getElementById('deDptoPisoIntID').value="";
    	document.getElementById('deUrbIndResUnVecID').value="";
    	document.getElementById('deSecEtapaZonaID').value="";
    }

    function camposDireccionDesloqueados(){

    	document.getElementById('deJrAvCaID').disabled=false;
    	document.getElementById('deDireccionID').disabled=false;
    	document.getElementById('deNumeroID').disabled=false;
    	document.getElementById('deMzLoteID').disabled=false;
    	document.getElementById('deDptoPisoIntID').disabled=false;
    	document.getElementById('deUrbIndResUnVecID').disabled=false;
    	document.getElementById('deSecEtapaZonaID').disabled=false;
    	document.getElementById('coDepartamentoID').disabled=false;
    	document.getElementById('coProvinciaID').disabled=false;
    	document.getElementById('coDistritoID').disabled=false;
    }

    function setCmbProvincia(){

    	var coDepartamento = dwr.util.getValue("coDepartamentoID");
    	if(coDepartamento != '-1' && coDepartamento != null){
        	
	    	dwr.util.useLoadingMessage("Cargando ...");
	    	dwr.util.removeAllOptions("coProvinciaID");
			
	    	AfiliacionService.findPronvinciaUbigeo(coDepartamento,false,
	    	function(data) {

	    		dwr.util.addOptions("coProvinciaID", data,"coProvincia","deProvincia");
	    		var obj = new Object();
	    		obj 	= data[0];
	    			    		
	    		dwr.util.removeAllOptions("coDistritoID");
	    		AfiliacionService.findDistritoUbigeo(coDepartamento,obj.coProvincia,false,
   		    	function(datos) {
   		    		dwr.util.addOptions("coDistritoID", datos,"coDistrito","deDistrito");          	
   		    	});
	    	});
    	}
    }

    function setCmbDistrito(){

    	var coDepartamento = dwr.util.getValue("coDepartamentoID");
    	var coProvincia    = dwr.util.getValue("coProvinciaID");
		if(coProvincia != '-1' && coProvincia != null &&
				coDepartamento != '-1' && coDepartamento != null){
        	
	    	dwr.util.useLoadingMessage("Cargando ...");
	    	dwr.util.removeAllOptions("coDistritoID");
			
	    	AfiliacionService.findDistritoUbigeo(coDepartamento,coProvincia,false,
	    	function(data) {
	    		dwr.util.addOptions("coDistritoID", data,"coDistrito","deDistrito");          	
	    	});
    	}
    }

    function calculaTotales(){
        
    	var vaPrecioPremio = document.getElementById('vaPrecioPremioID').value;    	
    	var vaPuntosPremio = document.getElementById('vaPuntosPremioID').value;
    	var vaCantidad	   = document.getElementById('vaCantidadID').value;
    	var vaPremiosCanjeados =  parseFloat(document.getElementById("cantPremios").value);
    	
    	var vaPrecioTotal = '0.0';
    	var vaPuntosTotal = '0.0';
		var nomCantidad = "cantidad";
    	
		if((trim(vaPrecioPremio) != '' && trim(vaPuntosPremio) != '' && trim(vaCantidad) != '') &&		   
		   (!isNaN(vaPrecioPremio) && !isNaN(vaPuntosPremio) && !isNaN(vaCantidad))){

			if ( parseFloat(vaCantidad)<=parseFloat(vaPremiosCanjeados) && parseFloat(vaCantidad)>0) {
				vaPrecioPremio = trim(vaPrecioPremio);
				vaPuntosPremio = trim(vaPuntosPremio);
				vaCantidad 	   = trim(vaCantidad);

				vaPrecioTotal = parseFloat(vaCantidad) * parseFloat(vaPrecioPremio);
				vaPuntosTotal = parseFloat(vaCantidad) * parseFloat(vaPuntosPremio);
				
		    	dwr.util.setValue("spamVaPuntosTotalesID", vaPuntosTotal, { escapeHtml:false });
				dwr.util.setValue("spamVaPrecioTotalID"	 , vaPrecioTotal, { escapeHtml:false });		
		    	
		    	dwr.util.setValue("vaPuntosTotalesID", vaPuntosTotal, { escapeHtml:false });
				dwr.util.setValue("vaPrecioTotalID"	 , vaPrecioTotal, { escapeHtml:false });
				
			} else{
				alert("La cantidad a devolver debe ser menor o igual a "+vaPremiosCanjeados+" (cantidad de premios canjeados)");
				 document.getElementById("vaCantidadID").value = "";
				 document.getElementById("vaCantidadID").focus();
				 return false;
				
				}
			
		} else {
			 if(vaCantidad.length==0){
				 alert("<fmt:message key="common.validar.noVacio"><fmt:param value='"+nomCantidad+"'/></fmt:message>");
				 document.getElementById("vaCantidadID").focus();
				 return false;
			 }		 else if(isNaN(vaCantidad)){
				 alert("<fmt:message key="common.validar.noNumero"><fmt:param value='"+nomCantidad+"'/></fmt:message>");
				 document.getElementById("vaCantidadID").focus();
				 return false;
			 }
		}

		

    }

    function obtenerDatosClientePorTarjeta(obj,flag){

		var codeTarjeta = obj.value;
		if(codeTarjeta != null && trim(codeTarjeta) != ''){

			dwr.util.useLoadingMessage();
			CanjeService.obtenerDatosClientePorTarjeta(codeTarjeta, function(data) {

				var puntosacumulados = 'Total Puntos Acumulados: ';				
				if(data.dePuntosAcumulados == null || trim(data.dePuntosAcumulados) == ''){
					puntosacumulados = puntosacumulados + '0 ptos.';
				}else{
					puntosacumulados = puntosacumulados + data.dePuntosAcumulados +' ptos.';
				}

				if(data.deNombre != null && trim(data.deNombre) != ''){
					dwr.util.setValue("deClienteID", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagCliente", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagTotalPuntos", puntosacumulados, { escapeHtml:false });
				}else{
					dwr.util.setValue("deClienteID", '', { escapeHtml:false });
					dwr.util.setValue("flagCliente", '----', { escapeHtml:false });
					dwr.util.setValue("flagTotalPuntos", '', { escapeHtml:false });

					if(flag){
						alert('No se encontro un cliente relacionado a la tarjeta');
						return false;
					}
				}
			});			
		}
    }


    function obtenerDatosClientePorTarjetaAnulacion(obj,flag){

		var codeTarjeta = obj.value;
		if(codeTarjeta != null && trim(codeTarjeta) != ''){

			dwr.util.useLoadingMessage();
			CanjeService.obtenerDatosClientePorTarjeta(codeTarjeta, function(data) {

				if(data.coClientePersona != null && trim(data.coClientePersona) != ''){
					dwr.util.setValue("deClienteAnulaID", data.deNombre, { escapeHtml:false });
					dwr.util.setValue("flagClienteAnulaID", data.coClientePersona, { escapeHtml:false });
					
				}else{
					dwr.util.setValue("deClienteAnulaID", '<fmt:message key="label.itemdefault"/>', { escapeHtml:false });
					dwr.util.setValue("flagClienteAnulaID",'' , { escapeHtml:false });
						if(flag){
						alert('No se encontro un cliente relacionado a la tarjeta');
						return false;
					}
				}
			});			
		}
    }
    
    function obtenerDatosPremioPorCodigo(obj,flag){

    	var idDoc = dwr.util.getValue('idDocumentoMovArticulo');
    	var codePremio = obj.value;
    	if(codePremio != null && trim(codePremio) != ''){

    		dwr.util.useLoadingMessage();
    		document.getElementById("btnSerieID").disabled=true;

			if(flag){
    			imprimeGrillaSeriePremios();
			}
    		
    		CanjeService.obtenerDatosPremioPorCodigo(codePremio, function(data) {
    			dwr.util.setValue("deCodigoPremioID", data.deArticulo, { escapeHtml:false });
    			dwr.util.setValue("stManejaSerieID", data.stManejaSerie, { escapeHtml:false });
    			dwr.util.setValue("stNoManejaStockID", data.stNoManejaStock, { escapeHtml:false });
    			dwr.util.setValue("stManejaStockPuntoCanjeID", data.stManejaStockPuntoCanje, { escapeHtml:false });
    			dwr.util.setValue("stManejaStockAlmPrincipalID", data.stManejaStockAlmPrincipal, { escapeHtml:false });
    			dwr.util.setValue("vaPuntosPremioID", data.vaPuntosRequeridos, { escapeHtml:false });
    			dwr.util.setValue("vaPrecioPremioID", data.vaMontoRequerido, { escapeHtml:false });

    			calculaTotales();
        		if((idDoc == null || idDoc == '') && //si es insertar y es una reserva
                   (data.stManejaStockPuntoCanje != 'Y')){
        			document.getElementById("btnSerieID").disabled=true;
        			imprimeGrillaSeriePremios();
            	}else{
            		if(data.stManejaSerie == 'Y'){
        				document.getElementById("btnSerieID").disabled=false;
            		}
                }

    			if(data.deArticulo != null && trim(data.deArticulo) != ''){
					dwr.util.setValue("flagPremio", data.deArticulo, { escapeHtml:false });
				}else{
					dwr.util.setValue("flagPremio", '----', { escapeHtml:false });

					if(flag){
						alert('No se encontro un articulo relacionado al codigo de premio');
						return false;
					}
				}

    			if(data.stManejaStockPuntoCanje == 'Y'){
    				manejaStockPuntoCanje();
    			}else if(data.stManejaStockAlmPrincipal == 'Y'){
					manejaStockAlmPrincipal();
            	}else if(data.stNoManejaStock == 'Y'){
					noManejaStock();
                }        		
    		});
       	}else{
           	
       		dwr.util.setValue("flagPremio", '----', { escapeHtml:false });
			dwr.util.setValue("deCodigoPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaCantidadID"	, "", { escapeHtml:false });
        	dwr.util.setValue("vaPrecioPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaPuntosPremioID", "", { escapeHtml:false });
        	dwr.util.setValue("vaPuntosTotalesID", "0.0", { escapeHtml:false });
    		dwr.util.setValue("vaPrecioTotalID"	 , "0.0", { escapeHtml:false });
       	}
    }

    function manejaStockPuntoCanje(){

    	//botones
    	document.getElementsByName("btnReservarName")[0].disabled=true;		   	
		document.getElementsByName("btnAnularReservaName")[0].disabled=true;
		document.getElementsByName("btnCanjearName")[0].disabled=false;
		document.getElementsByName("btnDevolverName")[0].disabled=true;
		
		document.getElementsByName("btnReservarName")[1].disabled=true;		   	
		document.getElementsByName("btnAnularReservaName")[1].disabled=true;
		document.getElementsByName("btnCanjearName")[1].disabled=false;
		document.getElementsByName("btnDevolverName")[1].disabled=true;    	
    	
		//tab propiedades de direccion de entrega
		document.getElementById("strPuntoCanjeID").disabled = false;		
		document.getElementById("strAlmacenID").disabled=true;
		document.getElementById("strDireccionID").disabled=true;
		
		document.getElementById("strPuntoCanjeID").checked = true;
		document.getElementById("strAlmacenID").checked = false;
		document.getElementById("strDireccionID").checked = false;
    	camposDireccionBloqueados();	
    }

    function manejaStockAlmPrincipal(){

    	//botones
    	document.getElementsByName("btnReservarName")[0].disabled=false;		   	
		document.getElementsByName("btnAnularReservaName")[0].disabled=true;
		document.getElementsByName("btnCanjearName")[0].disabled=true;
		document.getElementsByName("btnDevolverName")[0].disabled=true;
		
		document.getElementsByName("btnReservarName")[1].disabled=false;		   	
		document.getElementsByName("btnAnularReservaName")[1].disabled=true;
		document.getElementsByName("btnCanjearName")[1].disabled=true;
		document.getElementsByName("btnDevolverName")[1].disabled=true;   

    	document.getElementById("strAlmacenID").disabled=false;
		document.getElementById("strDireccionID").disabled=false;
		document.getElementById("strPuntoCanjeID").disabled=false;
    }

    
	function noManejaStock(){

		//botones
    	document.getElementsByName("btnReservarName")[0].disabled=false;		   	
		document.getElementsByName("btnAnularReservaName")[0].disabled=true;
		document.getElementsByName("btnCanjearName")[0].disabled=true;
		document.getElementsByName("btnDevolverName")[0].disabled=true;
		
		document.getElementsByName("btnReservarName")[1].disabled=false;		   	
		document.getElementsByName("btnAnularReservaName")[1].disabled=true;
		document.getElementsByName("btnCanjearName")[1].disabled=true;
		document.getElementsByName("btnDevolverName")[1].disabled=true;   

		document.getElementById("strAlmacenID").disabled=false;
		document.getElementById("strDireccionID").disabled=false;
		document.getElementById("strPuntoCanjeID").disabled=false;
    }


	function validaCantidad(){
		
    	var vaPrecioPremio = document.getElementById('vaPrecioPremioID').value;    	
    	var vaPuntosPremio = document.getElementById('vaPuntosPremioID').value;
    	var vaCantidad	   = document.getElementById('vaCantidadID').value;
    	var vaPremiosCanjeados =  parseFloat(document.getElementById("cantPremios").value);
    	
    	var vaPrecioTotal = '0.0';
    	var vaPuntosTotal = '0.0';
		var nomCantidad = "cantidad";


		 if(vaCantidad.length==0){
			 alert("<fmt:message key="common.validar.noVacio"><fmt:param value='"+nomCantidad+"'/></fmt:message>");
			 document.getElementById("vaCantidadID").focus();
			 return false;
		 }		 else if(isNaN(vaCantidad)){
			 alert("<fmt:message key="common.validar.noNumero"><fmt:param value='"+nomCantidad+"'/></fmt:message>");
			 document.getElementById("vaCantidadID").focus();
			 return false;
		 }
		     	
		if((trim(vaPrecioPremio) != '' && trim(vaPuntosPremio) != '' && trim(vaCantidad) != '') &&		   
		   (!isNaN(vaPrecioPremio) && !isNaN(vaPuntosPremio) && !isNaN(vaCantidad))){

			if ( parseFloat(vaCantidad)<=parseFloat(vaPremiosCanjeados) && parseFloat(vaCantidad)>0) {
				vaPrecioPremio = trim(vaPrecioPremio);
				vaPuntosPremio = trim(vaPuntosPremio);
				vaCantidad 	   = trim(vaCantidad);

				vaPrecioTotal = parseFloat(vaCantidad) * parseFloat(vaPrecioPremio);
				vaPuntosTotal = parseFloat(vaCantidad) * parseFloat(vaPuntosPremio);
				
		    	dwr.util.setValue("spamVaPuntosTotalesID", vaPuntosTotal, { escapeHtml:false });
				dwr.util.setValue("spamVaPrecioTotalID"	 , vaPrecioTotal, { escapeHtml:false });		
		    	
		    	dwr.util.setValue("vaPuntosTotalesID", vaPuntosTotal, { escapeHtml:false });
				dwr.util.setValue("vaPrecioTotalID"	 , vaPrecioTotal, { escapeHtml:false });

				return true;
				
			} else{
				 alert("La cantidad a devolver debe ser menor o igual a "+vaPremiosCanjeados+" (cantidad de premios canjeados)");
				 document.getElementById("vaCantidadID").value = "";
				 document.getElementById("vaCantidadID").focus();
				 return false;			
				}
		}
		return false;
	}		

    
    function devolucionCliente(){
		var id = document.getElementById("idDocumentoMovArticulo").value;
		var url = "/clubpgnweb/devolucioncliente/devolucionclienteform.html?id="+ id;
		if (validaCantidad()){
			if (validaDetalleDocumentoDevolucion()){
				return true;
			}
		}		
		return false;
		
    }

    function actualizaItemsDeevolucion(id){                
		if (document.getElementById("chk_premio" + id).checked){
			document.getElementById("documentoDetalle[" + id+"].stDevuelve").value = "S";
		} else{
			document.getElementById("documentoDetalle[" + id+"].stDevuelve").value = "N";
		}
     }

    function actualizaItemsHabilitadosDev(id){

		if(document.getElementById("chk_premio" + id).disabled == false){
			if (document.getElementById("chk_premio" + id).checked){
				document.getElementById("documentoDetalle[" + id+"].stDevuelve").value = "S";
			} else{
				document.getElementById("documentoDetalle[" + id+"].stDevuelve").value = "N";
			}
		}
     }   
    
</script>
<c:forEach var="bncanje" items="${devolucionclienteform.documentoDetalle}" varStatus="status">
	<script type="text/javascript">
		document.getElementById("cantCanjeados").value = parseFloat(document.getElementById("cantCanjeados").value) + 1;		
	</script>
</c:forEach>
<script type="text/javascript">
var booleanFlag = true;
function checkAllForm(){
	if(booleanFlag == true){
		checkedAllCheckbox(document.devolucionclienteform);
		booleanFlag = false;	
	}else{
		unCheckedAllCheckbox(document.devolucionclienteform);
		booleanFlag = true;
	}

	<c:forEach items="${devolucionclienteform.documentoDetalle}" varStatus="status">
		actualizaItemsHabilitadosDev(${status.index});
	</c:forEach>
}
</script>
<v:javascript formName="devolucionclienteform" staticJavascript="false"/>
<script type="text/javascript" src="<c:url value="/scripts/validator.jsp"/>"></script>
<script type='text/javascript' src="<c:url value="/dwr/interface/CanjeService.js"/>"></script>
<script type='text/javascript' src="<c:url value="/dwr/interface/AfiliacionService.js"/>"></script>